package su.storage.dao;
import java.util.Date;
import java.util.List;

import net.kuakao.core.dto.PagerDTO;
import java.sql.SQLException;

import su.storage.entity.StorageMaterial;

/**
 * 原料出入仓库记录
 * @作者 autopub
 * @创建日期 2012-09-03
 * @版本 V 1.0
 *
 */
public interface IStorageMaterialDAO {
	
	/**
	 * 原料出入仓库记录分页查询
	 * @param s 查询条件
	 * @return 原料出入仓库记录列表
	 * @throws SQLException
	 */
	public List<StorageMaterial> queryByPage(PagerDTO s) throws SQLException;
	
	/**
	 * 查询单个原料出入仓库记录对象
	 * @param id
	 * @return 原料出入仓库记录
	 * @throws SQLException
	 */
	public StorageMaterial getById(int id) throws SQLException;
	
	/**
	 * 创建原料出入仓库记录
	 * @param o 原料出入仓库记录实体类
	 * @throws SQLException
	 */
	public void insert(StorageMaterial o) throws SQLException;
	
	/**
	 * 更新原料出入仓库记录
	 * @param o 原料出入仓库记录实体类
	 * @throws SQLException
	 */
	public void update(StorageMaterial o) throws SQLException;
	
	/**
	 * 删除原料出入仓库记录
	 * @param  原料出入仓库记录ID
	 * @throws SQLException
	 */
	public void remove(int id) throws SQLException;
	
	/**
	 * 修改特定时间后的所有即时库存（增量）
	 * @param materialid 原料id
	 * @param reduce 增量
	 * @param afterDate 创建时间
	 * @throws Exception
	 */
	public void updateTotalAfter(int materialid,double reduce,Date afterDate)throws Exception;

}

